package com.autumn.zero.authorization.application.dto.roles;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.autumn.common.api.domain.entities.auditing.IGmtCreate;
import com.autumn.common.api.domain.entities.auditing.IGmtModified;
import com.autumn.util.excel.annotations.ExcelColumn;

/**
 * 角色输出
 * 
 * @author 杨昌国 2018-12-10 13:18:04
 */
public class RoleOutput extends RoleDto implements IGmtCreate, IGmtModified {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5251353722583717932L;

	/**
	 * 创建时间
	 */
	@ExcelColumn(order = 100, friendlyName = "创建时间", width = 145)
	private Date gmtCreate;

	/**
	 * 修改时间
	 */
	@ExcelColumn(order = 101, friendlyName = "修改时间", width = 145)
	private Date gmtModified;

	/**
	 * 用户集合
	 */
	private List<RoleUserOutput> users;

	/**
	 * 
	 */
	public RoleOutput() {
		this.setUsers(new ArrayList<>());
	}

	@Override
	public Date getGmtCreate() {
		return gmtCreate;
	}

	@Override
	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	@Override
	public Date getGmtModified() {
		return gmtModified;
	}

	@Override
	public void setGmtModified(Date gmtModified) {
		this.gmtModified = gmtModified;
	}

	/**
	 * 获取用户集合
	 * 
	 * @return
	 */
	public List<RoleUserOutput> getUsers() {
		return users;
	}

	/**
	 * 设置用户集合
	 * 
	 * @param users
	 *            用户集合
	 */
	public void setUsers(List<RoleUserOutput> users) {
		this.users = users;
	}

}
